package test1;

import java.util.Random;

public class Role {
    /*文字版格斗游戏
    需求:
    格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物时(new对象的时候),这些信息就应该被确定下来
     */
    private String name;
    private int blood;

    public Role() {
    }

    public Role(String name, int blood) {
        this.name = name;
        this.blood = blood;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return blood
     */
    public int getBlood() {
        return blood;
    }

    /**
     * 设置
     * @param blood
     */
    public void setBlood(int blood) {
        this.blood = blood;
    }

   //定义一个方法用于攻击别人
    //谁攻击谁?方法的调用者去攻击参数
    public void attack(Role role){
        //计算造成的伤害
        Random r = new Random();
        int hurt = r.nextInt(20)+1;

        //修改血量
        int nextBlood = role.getBlood()-hurt;
        //对剩余血量进行修正,如果小于0,则修改为0
        nextBlood = nextBlood<0?0:nextBlood;
        role.setBlood(nextBlood);

        //this是方法的调用者
        System.out.println(this.getName()+"举起拳头,对"+role.getName()+"造成了" +hurt+
                "点伤害,"+role.getName()+"还剩"+nextBlood+"点血");
    }
}
